#ifndef __CCCC_MOD_ABS_TREE_H
#define __CCCC_MOD_ABS_TREE_H

#include <string>
#include <vector>
#include <iostream>

using namespace std;

class AbstractTreeNode
{
protected:
	vector<AbstractTreeNode *> children;
	string treeType;
	string name;

public:
	AbstractTreeNode();
	~AbstractTreeNode();
	void addChild(AbstractTreeNode * node)
	{
		this->children.push_back(node);
	}

	vector<AbstractTreeNode *> getChildren()
	{
		return children;
	}

	string getType();
	string getName();

	int getNumOfChildren();
};

#endif
